# -*- coding: utf-8 -*-

from xlrd import open_workbook

class Leitura:
	
#O método lê o ficheiro .xls com os dados.
#Acede à tabela nº 30 e guarda o seu conteudo numa lista.

	def ler_xls(self,ano):
		
		ler_ficheiro = open_workbook('Inscritos_2010-2011.xls')
		tabela = ler_ficheiro.sheet_by_index(30)
		
		conteudo_xls = []
		
		estabelecimento = ""
		unidade_organica = ""
		nivel_formacao = ""
		curso = ""
		area_educacao_formacao = ""
		
		for linha in range (4, tabela.nrows - 9):
			info_linha = []
			if  tabela.cell(linha, 0).value != "":
				estabelecimento = tabela.cell(linha, 0).value.encode('utf-8') 
			info_linha.append(estabelecimento)
			if  tabela.cell(linha, 1).value != "":
				unidade_organica = tabela.cell(linha, 1).value.encode('utf-8')
			if  tabela.cell(linha, 1).value == "" and tabela.cell(linha, 0).value != "":
				unidade_organica = "Nao defenido"
			info_linha.append(unidade_organica)
			if  tabela.cell(linha, 2).value != "":
				nivel_formacao = tabela.cell(linha, 2).value.encode('utf-8')
			info_linha.append(nivel_formacao)
			if  tabela.cell(linha, 3).value != "":
				curso = tabela.cell(linha, 3).value.encode('utf-8')
			info_linha.append(curso)
			if  tabela.cell(linha, 4).value != "":
				area_educacao_formacao = tabela.cell(linha, 4).value.encode('utf-8')
			info_linha.append(area_educacao_formacao)
			
			tabelaTotalAno = {1995 : 7, 1996 : 10, 1997 : 13, 1998 : 16, 1999: 19, 2000 : 22, 2001 : 25, 2002: 28, 2003 : 31, 2004 : 34, 2005 : 37, 2006: 40, 2007: 43, 2008 : 47, 2009 : 50, 2010 : 53 }
			if tabela.cell(linha, tabelaTotalAno[ano]).value == '-':
				info_linha.append('0')
			else:
				info_linha.append(tabela.cell(linha, tabelaTotalAno[ano]).value)
				
			conteudo_xls.append(info_linha)	
			pass
		return conteudo_xls
	
	
	def obter_anos(self):
		
		ler_ficheiro = open_workbook('Inscritos_2010-2011.xls')
		tabela = ler_ficheiro.sheet_by_index(30)
		anos = []
		
		for coluna in range(5, tabela.ncols):
			if  tabela.cell(2, coluna).value != "":
				ano = tabela.cell(2, coluna).value.encode('utf-8').partition(" ")[0].replace("/", "_")
				anos.append(ano)
				pass
			pass
		return anos

